ASSERT(l1e_get_flags(gpte) & _PAGE_RW);
l1e_add_flags(&gpte, _PAGE_DIRTY | _PAGE_ACCESSED);
- spte = l1e_create_pfn(gmfn, l1e_get_flags(gpte));
+ spte = l1e_create_pfn(gmfn, l1e_get_flags(gpte) & ~_PAGE_GLOBAL);
SH_VVLOG("l1pte_write_fault: updating spte=0x%p gpte=0x%p",
l1e_get_value(spte), l1e_get_value(gpte));
}
l1e_add_flags(&gpte, _PAGE_ACCESSED);
- spte = l1e_create_pfn(mfn, l1e_get_flags(gpte));
+ spte = l1e_create_pfn(mfn, l1e_get_flags(gpte) & ~_PAGE_GLOBAL);
if ( shadow_mode_log_dirty(d) || !(l1e_get_flags(gpte) & _PAGE_DIRTY) ||
mfn_is_page_table(mfn) )
(_PAGE_PRESENT|_PAGE_ACCESSED)) &&
VALID_MFN(mfn = __gpfn_to_mfn(d, l1e_get_pfn(gpte))) )
{
- spte = l1e_create_pfn(mfn, l1e_get_flags(gpte));
+ spte = l1e_create_pfn(mfn, l1e_get_flags(gpte) & ~_PAGE_GLOBAL);
if ( shadow_mode_log_dirty(d) ||
!(l1e_get_flags(gpte) & _PAGE_DIRTY) ||